Force sensing input device and method for determining force information

ABSTRACT

The embodiments described herein provide devices, systems and methods that facilitate improved performance in an input device. The input device, for example, may include an input surface configured to rotate about a first axis, a proximity sensor configured to sense an input object in a sensing region proximate to the input surface of the input device, a force sensor configured to sense a force applied to the input surface of the input device, and a processing system communicatively coupled to the proximity sensor and the force sensor. The processing system may be configured to determine a position of the input object in the sensing region, and determine force information for the input object based upon the position of the input object, the force applied to the input surface, and a location of the force sensor relative to the first axis.

TECHNICAL FIELD

This invention generally relates to electronic devices.

BACKGROUND

Input devices including proximity sensor devices (also commonly calledtouchpads or touch sensor devices) are widely used in a variety ofelectronic systems. A proximity sensor device typically includes asensing region, often demarked by a surface, in which the proximitysensor device determines the presence, location and/or motion of one ormore input objects. Proximity sensor devices may be used to provideinterfaces for the electronic system. For example, proximity sensordevices are often used as input devices for larger computing systems(such as opaque touchpads integrated in, or peripheral to, notebook ordesktop computers). Proximity sensor devices are also often used insmaller computing systems (such as touch screens integrated in cellularphones).

Some input devices include force sensors for sensing a force applied tothe input device. However, the mechanical system for mounting the inputdevice can be complicated and expensive. Further, current input deviceswith force sensors may be affected by chassis twist and by a user's palmresting on the input device.

Thus, methods, systems and devices for addressing the above aredesirable. Other desirable features and characteristics will becomeapparent from the subsequent detailed description and the appendedclaims, taken in conjunction with the accompanying drawings and theforegoing technical field and background.

BRIEF SUMMARY

In one exemplary embodiment an input device is provided. The inputdevice may include, but is not limited to, an input surface configuredto rotate about a first axis, a proximity sensor configured to sense aninput object in a sensing region proximate to the input surface of theinput device, a force sensor configured to sense a force applied to theinput surface of the input device, and a processing systemcommunicatively coupled to the proximity sensor and the force sensor.The processing system may be configured to determine a position of theinput object in the sensing region, and determine force information forthe input object based upon the position of the input object, the forceapplied to the input surface, and a location of the force sensorrelative to the first axis.

In another exemplary embodiment a processing system for an input deviceis provided. The input device may include an input surface configured torotate about a first axis and further configured to be touched by inputobjects and a force sensor configured to determine a force applied tothe input surface. The processing system may include, but is not limitedto sensing circuitry configured to sense input in a sensing region ofthe input device and the force applied to the input surface, and adetermination module configured to determine force information for theinput object based upon a position of the input object on the inputsurface, the force applied to the input surface, and a location of theforce sensor relative to the first axis.

In yet another exemplary embodiment a method for determining forceinformation for an input object interacting with an input device havingan input surface configured to rotate about an axis and configured to betouched by input objects and a force sensor coupled to the input surfaceand configured to determine a representation of force applied to theinput surface is provided. The method may include, but is not limitedto, determining a position of an input object, and determining forceinformation for the input object based upon the position of the inputobject on the input surface, the representation of force applied to theinput surface, and a location of the force sensor relative to the axis.

BRIEF DESCRIPTION OF DRAWINGS

Exemplary embodiments will hereinafter be described in conjunction withthe appended drawings, where like designations denote like elements,and:

FIG. 1 illustrates an exemplary input device 100 in accordance with anembodiment;

FIG. 2 illustrates a top view of the input device illustrated in FIG. 1in accordance with an embodiment;

FIG. 3 illustrates a top view of another exemplary input device inaccordance with an embodiment;

FIG. 4 is a flow diagram illustrating a method for determining forceinformation for an input device, in accordance with an embodiment;

FIGS. 5 & 6 are flow charts illustrating an exemplary method forcontrolling the input device in accordance with an embodiment;

FIG. 7 illustrates a top view of another exemplary input device inaccordance with an embodiment;

FIG. 8 illustrates a top view of yet another exemplary input device inaccordance with an embodiment;

FIG. 9 illustrates a method for determining force information for theinput device illustrated in FIG. 9; and

FIG. 10 is a block diagram of another exemplary input device, inaccordance with an embodiment.

DETAILED DESCRIPTION OF THE DRAWINGS

The following detailed description is merely exemplary in nature and isnot intended to limit the embodiments or the application and uses of theembodiments. Furthermore, there is no intention to be bound by anyexpressed or implied theory presented in the preceding technical field,background, brief summary or the following detailed description.

Various embodiments provide input devices and methods that facilitateimproved usability. As discussed below, the input device includes arotatable input surface and a force sensor. The input surface may bemounted to a chassis or casing of the input device using a rotatingmounting structure. This mounting structure provides a simple and lowcost method for mounting and allowing rotation of the input surface tothe input device. Further, the mounting structure may be less affectedby chassis twist and chassis deformation caused by a user's palm restingon the chassis. However, because the input surface is rotatable, theposition of the touch relative to an axis of rotation and the forcesensor affects the amount of force the force sensor detects.Accordingly, the output of the force sensor is scaled to account for therotation of the input surface, as discussed in further detail below.

Turning now to the figures, FIG. 1 illustrates an exemplary input device100. The input device 100 includes an input surface 110, at least onesensing electrode 120, a force sensor 130 for sensing a force applied tothe input surface 110 and a processing system 140. The input surface 110and at least one sensing electrode 120 are configured to rotate about aan axis 160 via mounting structure 150. The mounting structure 150 andforce sensor 130 are preferably mounted on opposite ends of the inputsurface 110 and at least one sensing electrode 120, as illustrated inFIG. 1. The mounting structure 150 allows the input surface 110 and theat least one sensing electrode 120 to rotate about the axis 160,represented as a fulcrum in FIG. 1, as illustrated by arrow 170. In oneembodiment, for example, the edge of the input surface 110 and at leastone sensing electrode 120 furthest from the axis 160 may only rotateapproximately one to two tenths of a millimeter. However, the amount ofrotation can vary depending upon the needs of the input device 100 andthe sensitivity of the force sensor 130.

Because the input surface 110 and the at least one sensing electrode 120are rotatable, the amount of force detected by the force sensor 130 froman input object will vary depending upon the location of the inputobject on the input surface 110. For example, an input object applyingidentical amounts of force on the input surface 110 at the edge of theinput surface furthest from the force sensor 130 and at a locationdirectly above the force sensor 130 would result in different outputsfrom the force sensor 130. For example, the output from the force sensor130 would be larger for the second touch, even though identical forcewas applied in both touches. Accordingly, the processing system 140determines force information for an input object based upon the amountof force detected by the force sensor, the location of the input object,and the location of the force sensor, as discussed in further detailbelow. The processing system 140 can emulate various types of user inputbased upon the force information. Furthermore, the processing system 140can emulate various types of user input based upon a combination theforce information and at least one of a number of input objects, theposition of the one or more input object and a duration the one or moreinput objects were touching the input surface 110, herein after referredto as “input information”. The types of user input may include, but arenot limited to, pointing, tapping, selecting, clicking, double clicking,panning, zooming, and scrolling. For example, the processing system mayemulate a left-click if the input information meets a predeterminedinput metric. The input metric may be, for example, a predeterminedforce range, a combination of a force range and a length of time theinput object is in contact with the input surface 110, a combination ofa force range and a position of the input objects in contact with theinput surface 110, or a combination of a force range, a length of time,and a position of the input objects in contact with the input surface110. The input metric may also depend upon the number of input objectscontacting the input surface 110. The processing system may alsodetermine an initiation and/or rate or speed of a user interface action,such as a scroll, zoom, or pan, for example, based upon at least one ofthe force information and the positional information.

FIG. 2 illustrates a top view of an exemplary input device 100 inaccordance with an embodiment. The mounting structure 150 illustrated inFIG. 2 is a thin piece of metal. In other embodiments, for example, themounting structure 150 may be a thin piece of plastic or any othersemi-flexible material. In other embodiments, for example, the mountingstructure 150 may be a piano hinge, bearing(s), a gimbal joint or anyother type of hinge or mechanism configured to rotate and/or deflect theinput surface 110 in response to a force from an input object. As seenin FIG. 2, the axis 160 is located above the top edge of the inputsurface 110. In one embodiment, the axis 160 is located outside of theinput surface area.

FIG. 3 illustrates a top view of another exemplary input device 100 inaccordance with an embodiment. As seen in FIG. 3, the input deviceincludes two mounting structures 150, located at the corners of theinput surface 110 near the axis 160. As with the embodiment illustratedin FIG. 2, the mounting structures 150 may be any material or mechanismconfigured to rotate and/or deflect the input surface 110 in response toa force from an input object.

FIG. 4 is a flow diagram illustrating a method 400 for determining forceinformation for the input device 100. The method begins by determining alocation of an input object in contact with the input surface. (Step410). In one embodiment, if multiple input objects are in contact withthe input surface, the location of the touch may be based upon the firstor subsequent input object to touch the input surface 110 or aconsolidated location. For example, a location in the middle of themultiple input objects may be used as the consolidated location of theinput objects. A force measured by the force sensor 130 is thendetermined (Step 420). As discussed above, the amount of force measuredby the force sensor may not accurately represent the force applied bythe input object to the input surface.

Once the location of the touch and the force measured by the forcesensor 130 are known, the processing system 140 can determine forceinformation for the input object(s) based on a known location of theforce sensor (Step 430). The location of the force sensor 130 relativeto the axis 160 may be stored, for example, in a memory of theprocessing system. As described above, the distance of the force sensor130 from the axis 160, as illustrated by arrow 200 in FIG. 2, affectsthe amount of force the force sensor 130 will detect from any giventouch. Since the input surface 110 acts like a lever, when the forcesensor 130 is further from the axis 160 the force sensor 130 willmeasure less force than if the force sensor 130 was closer to the axis160, given an identical input. In one embodiment, for example, theprocessing system 140 may scale the force measured by the force sensorbased upon the location of the touch and the location of the forcesensor relative to the axis. Accordingly, input objects imparting anidentical amount of force on the input surface 110 should haveapproximately the same force information. After the force information isdetermined, the processing system can determine input information forthe input object(s) and determine if the input information meets a inputmetric (Step 440), as discussed in further detail below.

FIGS. 5 & 6 are flow charts illustrating an exemplary method 500 forcontrolling the input device 100 in accordance with an embodiment. Theprocessing system 140 monitors the at least one sensing electrode 120 todetermine if an input object is touching the input surface 110. (Step505). The processing system 140 further determines if a single inputobject or multiple input objects are touching the input surface. (Step510).

If only a single input object is touching the input surface 110, theprocessing system determines if the input information (determined inpart via the method 400) meets a first input metric. (Step 515). Asdescribed above, in one embodiment, the first input metric maycorrespond to a first force value range, a combination of a force valuerange and a length of time the input object was in contact with theinput surface 110, a combination of a force value range and a positionof the input object in contact with the input surface 110, or acombination of a force value range and a length of time and a positionof the input object in contact with the input surface 110. As discussedin further detail below, the input metrics and/or force values may bescaled based upon the number of input object touching the input surface110. If the input information meets a first input metric, the processingsystem may ignore any input and suppress reporting any location, forceor movement of the input object. (Step 520). In one embodiment, theprocessing system uses force information along with a time of contactbetween the input object and the input surface to determine if to ignoreany input on the input surface. For example, an input determined to bein contact with the input surface for a time less than a first timemetric, may be determined to be a light tap by the input object. Aninput determined to be in contact with the input surface for a timelonger than a first time metric, may be determined to be a resting inputobject and any input associated with the object is suppressed. Theprocessing system then returns to Step 505 to continue to monitor forinput objects.

If the input information does not meet a first input metric, theprocessing system 140 then determines if the force information meets asecond input metric. (Step 525). In one embodiment, for example, thesecond input metric may be a force value range, a combination of a forcevalue range and a length of time the input object was in contact withthe input surface 110, a combination of a force value range, a positionof the input object in contact with the input surface 110, or acombination of a force value range, a length of time and a position ofthe input object in contact with the input surface 110. If the inputinformation meets the second force metric, the processing system 140could allow both pointing and tapping. In other embodiments, theprocessing system may emulate a first type of user input such as a leftclick, a right-click, a middle-click, a scroll, zoom, highlight or anyother type of user input, as described above. In one embodiment, theprocessing system uses force information along with a time of contactbetween the input object and the input surface to determine if toignore/allow any input on the input surface. (Step 530). The processingsystem then returns to Step 505 to continue to monitor for inputobjects.

If the input information does not meet the second input metric, theprocessing system 140 then determined if the input information meets athird input metric. (Step 535). In one embodiment, for example, thethird input metric may be a force value range, a combination of a forcevalue range and a length of time the input object was in contact withthe input surface 110, a combination of a force value range and aposition of the input object in contact with the input surface 110, or acombination of a force value range, a length of time the input object isin contact with the input surface 110 and a position of the input objecton the input surface 110. If the input information meets the third forcemetric, the processing system 140 could suppress movement and emulates asecond type of user input. (Step 540). The processing system thenreturns to Step 505 to continue to monitor for input objects. In oneembodiment, for example, the second type of user input may be aleft-click. In other embodiments, the second type of user input may be aright-click, a middle-click, a scroll, zoom, highlight or any other typeof user input.

In one embodiment, for example, if the input information does not meetthe third input metric, the processing system 140 suppresses movementand emulates a user input. (Step 545). In one embodiment, for example,the user input may be a right-click. However, any type of user input maybe emulated. The processing system then returns to Step 505 to continueto monitor for input objects.

While the embodiment illustrated in FIG. 5 illustrates comparing atleast the force information generated using the method in FIG. 4 againstthree input metrics, any number of input metric metrics can be used toemulate any number of user inputs. As described above, the input metricsmay be a force value range, a combination of a force value range and alength of time the input object was in contact with the input surface110, a combination of a force value range and a position of the inputobject in contact with the input surface 110, or a combination of aforce value range, a length of time the input object was in contact withthe input surface 110 and a position of the input object with respect tothe input surface 110. It should be appreciated that some uniquelydifferent force, position and/or time values may meet the same inputmetric. For example, in some embodiments, input information for an inputobject comprising, a force value F, a location X, Y and a time ofcontact T may meet a first input metric. While input information for aninput object comprising a force value F′, a location X′, Y′ and a timeof contact T′ (where the prime values are uniquely different from thenon-prime values) may also meet the first input metric. Furthermore,input information for an input object comprising a force value F, alocation X′, Y and a time of contact T′ may not meet a first inputmetric. While FIG. 5 illustrates one exemplary embodiment of variousinput metrics which can be met by the input information to perform atype of user input, it should be appreciated that different inputinformation (as described above) may meet the same input metric,resulting in the same type of user input. It should be furtherappreciated, that different input information may meet different inputmetrics, resulting in the same type of user input. Furthermore, the sametype of user input may provide different functionality based on acomponent of the input information. For example, different values of F,X/Y and T may result in the same type of user input (e.g. panning,zooming, etc), that type of user input may behave differently based uponsaid values (e.g. zooming faster, panning slower, etc). Furthermore,while FIG. 5 illustrates a method where the processing system 140 isdetermining if the input information meets one of a number of inputmetrics by comparing the input information to each input metric, otherprocessing methods can be used. For example, in one embodiment the inputmetrics can be organized in a tree structure and the processing system140 can traverse the tree structure to determine which input metric hasbeen met.

Turning to FIG. 6, in one embodiment, if multiple input objects aretouching the surface, the processing system 140 scales the inputmetrics. (Step 605). For example, the processing system 140 may scalethe input metrics based upon a number of input objects touching theinput surface 110. In other words, the processing system 140 increasesthe amount of combined force necessary to meet a metric. The processingsystem 140 then determines if the multiple input objects touched theinput surface substantially simultaneously or asynchronously. (Step610). In other words, the processing system 140 determines if themultiple input objects touched the input surface 110 within apredetermined time, or if a second input object began touching the inputsurface 110 substantially after the first input object began touchingthe input surface 110.

If the input objects were determined to substantially simultaneouslytouch the input surface 110, the processing system 140 then determinesif the input information for the multiple input objects generated viathe method illustrated in FIG. 4 meets an input metric. (Step 615). Ifthe input information does not meet the input metric, the processingsystem may suppress any input. (Step 620). The processing system thenreturns to Step 505 to continue to monitor for input objects. If theforce information does meet the input metric, the processing system mayemulate a type of user input. (Step 625). In one embodiment, forexample, the type of user input may be a right click. However, otheruser inputs such as a left click, a middle-click, a scroll, zoom,highlight or any other type of user input may be emulated. Theprocessing system then returns to Step 505 to continue to monitor forinput objects.

If the processing system 140 determines that the input objectsasynchronously touched the input surface 110, the processing system 140determines if input information of the second input object comprises asubstantially co-linear (i.e., next to) position next first inputobject. (Step 630). If the second input object is substantiallyco-linear (i.e., next to) the first input object, the processing system140 determines if the input information for the first and second inputobjects calculated using at least the method illustrated in FIG. 4 meetsan input metric. (Step 635). In one embodiment, if the input informationdoes not meet the input metric, the processing system may suppress anyinput. (Step 620). The processing system then returns to Step 505 tocontinue to monitor for input objects. If the input information doesmeet the input metric, the processing system may emulate a type of userinput. (Step 625). In one embodiment, for example, the user input may bea right-click. However, other user inputs may be emulated such as, aleft-click, middle-click, a scroll, zoom, highlight, panning, tapping,clicking or any other type of user input. The processing system thenreturns to Step 505 to continue to monitor for input objects.

If the second input object is not substantially co-linear (i.e., nextto) the first input object, the processing system 140 determines if theinput information for the first and second input objects calculatedusing at least the method illustrated in FIG. 4 meets an input metric.(Step 640). In one embodiment, for example, the processing system 140determines a differential force imparted by the arrival of the secondinput object. If the input information or the differential force doesnot meet the force metric, the processing system may suppress any input.(Step 650). In another embodiment, if the input information or thedifferential force does not meet the input metric, the processing systemmay suppress any input from the second input object. The processingsystem then returns to Step 505 to continue to monitor for inputobjects. If the input information or differential force does meet theinput metric, the processing system may emulate a type user input. (Step645). In one embodiment, for example, the user input may be aleft-click. However, other user inputs may be emulated such as, aleft-click, middle-click, a scroll, zoom, highlight, panning, tapping,clicking or any other type of user input. The processing system thenreturns to Step 505 to continue to monitor for input objects.

FIG. 7 illustrates a top view of another exemplary input device 700 inaccordance with an embodiment. The input device 700 includes an inputsurface 710 and force sensors 720 and 730. The input surface 710 isconnected to a first mounting structure 740 which allows the inputsurface 710 to rotate about a first axis 750. In the embodimentillustrated in FIG. 7, the force sensors 720 and 730 are positioned inthe lower left and lower right corner of the input surface 710,respectively. In operation, the input device 700 operates similar to theinput devices illustrated in FIGS. 1-3. However, in this embodimentforce information is determined for each force sensor 720 and 730 basedupon the location of the input object, the force measured by each sensor720 and 730 and the location of each force sensor relative to the axis750, as illustrated by arrows 760 and 770, respectively.

FIG. 8 illustrates a top view of another exemplary input device 800 inaccordance with an embodiment. The input device 800 includes an inputsurface 810 and force sensors 820 and 830. The input surface 810 isconnected to a first mounting structure 840 and a second mountingstructure 850. The first mounting structure 840 allows the input surface810 to rotate about a first axis 860. Likewise, the second mountingstructure 850 allows the input surface 810 to rotate about a second axis870. In one embodiment, for example, the first axis 860 and second axis870 are substantially perpendicular to each other. In the embodimentillustrated in FIG. 8, the second mounting structure 850 and second axis870 are positioned in the middle of the input surface 810. However, thesecond hinge 850 and second axis 870 could be positioned anywhere alongthe input surface 810. The force sensors 820 and 830 are preferablypositioned on opposite sides of the axis 870 and are preferablepositioned as far from both axis 860 and axis 870 as is possible.

In the embodiment illustrates in FIG. 8, the first and second mountingstructures 840 and 850, are shown to extend the full width and length ofthe input surface 810. However, as described above, the mountingstructures may comprise a piano hinge, bearing(s), a gimbal joint or anyother type of hinge or mechanism configured to rotate and/or deflect theinput surface 810 in response to a force from an input object. Thus themounting structure may only extend partially along the input surface orbe near specific regions of the input surface (e.g. corners, etc). Itshould be appreciated that in a symmetrical layout (i.e. locations offorce sensors 720/820 and 730/830 relative to the first and second axisbeing identical), force information from force sensors 720/820 and730/830 should be substantially the same. Yet, because of variousfactors, such as manufacturing tolerances, device construction andmounting, and calibration, among others; use of multiple force sensorsmay allow the input device to operate more accurately since the forcesensors can be used to calibrate one another and to compensate formanufacturing and assembly variances.

FIG. 9 illustrates a method 900 for determining force information forthe input device 800 illustrated in FIG. 8. The method begins bydetermining a location of a touch on the input surface by an inputobject. (Step 910). In one embodiment, for example, if multiple inputobjects are detected, the location of the touch may be based upon thelast object to touch the input surface 110. Similarly, if multiple inputobjects are detected, the force information may be a total force of allinput objects, or a differential force between the multiple objects. Inanother embodiment, a location in the middle of the multiple inputobjects or an average position could be selected as the location. In yetanother embodiment, the location of the first input object could beselected as the location. In other embodiments, a location of a firstinput object may be used to calculate force information for one of theforce sensor 820 and 830 and a location of a second object may be usedto calculate the force information for the other of the force sensor 820and 830.

A force measured by each force sensor 820 and 830 is then determined(Step 920). In another embodiment, only one of the force sensors 820 and830 may be used to calculate the force information. In this embodiment,for example, the force sensor closest to the input object may be used.In another embodiment, a force sensor located on the same side of theaxis 870 as the input object may be used to determine the forceinformation.

Once the location of the touch and the force measured by each forcesensor 820 and 830 are known the processing system 140 can determineforce information for the touch using a known location of each forcesensor. (Step 930). The location of each force sensor 820 and 830relative to the first axis 860 and second axis 870 may be stored, forexample, in a memory. The distance of each force sensor 820 and 830 fromthe first axis 860 and second axis 870, as illustrated by arrows 880 and890 in FIG. 8, also affects the amount of force each force sensor 820and 830 will detect from any given touch. Since the input surface 810acts like a lever, when the force sensor 820 and 830 are further fromthe axes 860 and 870 the force sensors 820 and 830 will measure lessforce than if the force sensors 820 and 830 were closer to the axes 860and 870, given an identical input. While the force sensors 820 and 830are illustrated as having the same distance from the respective axes 860and 870, as illustrated by arrows 880 and 890, the force sensors 820 and780 could also be positioned asymmetrically. After the force informationis determined, the processing system can determine input information forthe input object(s) and determine if the input information meets aninput metric (Step 940), as discussed above.

In one embodiment, for example, the processing system 140 may scale theforce measured by each force sensor based upon the location of the touchand the location of the respective force sensor. Accordingly, inputobjects imparting an identical amount of force on the input surface 810should have approximately the same force information.

FIG. 10 is a block diagram of another exemplary input device 1000, inaccordance with an embodiment. The input device 900 may be configured toprovide input to an electronic system (not shown). As used in thisdocument, the term “electronic system” (or “electronic device”) broadlyrefers to any system capable of electronically processing information.Some non-limiting examples of electronic systems include personalcomputers of all sizes and shapes, such as desktop computers, laptopcomputers, netbook computers, tablets, web browsers, e-book readers, andpersonal digital assistants (PDAs). Additional example electronicsystems include composite input devices, such as physical keyboards thatinclude input device 900 and separate joysticks or key switches. Furtherexample electronic systems include peripherals such as data inputdevices (including remote controls and mice), and data output devices(including display screens and printers). Other examples include remoteterminals, kiosks, and video game machines (e.g., video game consoles,portable gaming devices, and the like). Other examples includecommunication devices (including cellular phones, such as smart phones),and media devices (including recorders, editors, and players such astelevisions, set-top boxes, music players, digital photo frames, anddigital cameras). Additionally, the electronic system could be a host ora slave to the input device.

The input device 1000 can be implemented as a physical part of theelectronic system, or can be physically separate from the electronicsystem. As appropriate, the input device 1000 may communicate with partsof the electronic system using any one or more of the following: buses,networks, and other wired or wireless interconnections. Examples includeI²C, SPI, PS/2, Universal Serial Bus (USB), Bluetooth, RF, and IRDA.

In FIG. 10, the input device 1000 is shown as a proximity sensor device(also often referred to as a “touchpad” or a “touch sensor device”)configured to sense input provided by one or more input objects 1040 ina sensing region 1020. Example input objects include fingers and styli,as shown in FIG. 10.

Sensing region 1020 encompasses any space above, around, in and/or nearthe input device 1000 in which the input device 1000 is able to detectuser input (e.g., user input provided by one or more input objects1040). The sizes, shapes, and locations of particular sensing regionsmay vary widely from embodiment to embodiment. In some embodiments, thesensing region 1020 extends from a surface of the input device 1000 inone or more directions into space until signal-to-noise ratios preventsufficiently accurate object detection. The distance to which thissensing region 1020 extends in a particular direction, in variousembodiments, may be on the order of less than a millimeter, millimeters,centimeters, or more, and may vary significantly with the type ofsensing technology used and the accuracy desired. Thus, some embodimentssense input that comprises no contact with any surfaces of the inputdevice 1000, contact with an input surface (e.g. a touch surface) of theinput device 1000, contact with an input surface of the input device1000 coupled with some amount of applied force, and/or a combinationthereof. In various embodiments, input surfaces may be provided bysurfaces of casings within which the sensing electrodes reside, by facesheets applied over the sensing electrodes or any casings, etc. In someembodiments, the sensing region 1020 has a rectangular shape whenprojected onto an input surface of the input device 1000.

The input device 1000 may utilize any combination of sensor componentsand capacitive sensing technologies to detect user input in the sensingregion 1020. For example, the input device 1000 comprises one or moresensing elements for capacitively detecting user input.

Some implementations are configured to provide images that span one,two, or three dimensions in space. Some implementations are configuredto provide projections of input along particular axes or planes.

In some capacitive implementations of the input device 1000, voltage orcurrent is applied to create an electric field. Nearby input objectscause changes in the electric field, and produce detectable changes incapacitive coupling that may be detected as changes in voltage, current,or the like.

Some capacitive implementations utilize arrays or other regular orirregular patterns of capacitive sensing elements to create electricfields. In some capacitive implementations, separate sensing elementsmay be ohmically shorted together to form larger sensing electrodes.Some capacitive implementations utilize resistive sheets, which may beuniformly resistive.

Some capacitive implementations utilize “self capacitance” (or “absolutecapacitance”) sensing methods based on changes in the capacitivecoupling between sensing electrodes and an input object. In variousembodiments, an input object near the sensing electrodes alters theelectric field near the sensing electrodes, thus changing the measuredcapacitive coupling. In one implementation, an absolute capacitancesensing method operates by modulating sensing electrodes with respect toa reference voltage (e.g. system ground), and by detecting thecapacitive coupling between the sensing electrodes and input objects.

Some capacitive implementations utilize “mutual capacitance” (or“transcapacitance”) sensing methods based on changes in the capacitivecoupling between sensing electrodes. In various embodiments, an inputobject near the sensing electrodes alters the electric field between thesensing electrodes, thus changing the measured capacitive coupling. Inone implementation, a transcapacitive sensing method operates bydetecting the capacitive coupling between one or more transmittingelectrodes and one or more receiving electrodes. Transmitting sensingelectrodes may be modulated relative to a reference voltage (e.g.,system ground) to facilitate transmission, and receiving sensingelectrodes may be held substantially constant relative to the referencevoltage to facilitate receipt. Sensing electrodes may be dedicatedtransmitters or receivers, or may be configured to both transmit andreceive.

In FIG. 10, a processing system (or “processor”) 1010 is shown as partof the input device 1000. The processing system 1010 is configured tooperate the hardware of the input device 1000 to detect input in thesensing region 1020. The processing system 1010 comprises parts of orall of one or more integrated circuits (ICs) and/or other circuitrycomponents; in some embodiments, the processing system 1010 alsocomprises electronically-readable instructions, such as firmware code,software code, and/or the like. In some embodiments, componentscomposing the processing system 1010 are located together, such as nearsensing element(s) of the input device 1000. In other embodiments,components of processing system 1010 are physically separate with one ormore components close to sensing element(s) of input device 1000, andone or more components elsewhere. For example, the input device 1000 maybe a peripheral coupled to a desktop computer, and the processing system1010 may comprise software configured to run on a central processingunit of the desktop computer and one or more ICs (perhaps withassociated firmware) separate from the central processing unit. Asanother example, the input device 1000 may be physically integrated in aphone, and the processing system 1010 may comprise circuits and firmwarethat are part of a main processor of the phone. In some embodiments, theprocessing system 1010 is dedicated to implementing the input device1000. In other embodiments, the processing system 1010 also performsother functions, such as operating display screens, driving hapticactuators, etc.

The processing system 1010 may be implemented as a set of modules thathandle different functions of the processing system 1010. Each modulemay comprise circuitry that is a part of the processing system 1010,firmware, software, or a combination thereof. In various embodiments,different combinations of modules may be used. Example modules includehardware operation modules for operating hardware such as sensingelectrodes and display screens, data processing modules for processingdata such as sensor signals and positional information, and reportingmodules for reporting information. Further example modules includesensor operation modules configured to operate sensing element(s) todetect input, identification modules configured to identify gesturessuch as mode changing gestures, mode changing modules for changingoperation modes, and determination modules to determine forceinformation for input objects touching the sensing region, as discussedabove.

In accordance with some embodiments, a haptic module is configured tocontrol an actuation of a haptic mechanism 1050 configured to hapticallyaffect an input surface of the input device 1000 or otherwise providehaptic feedback to a user. Likewise, a force sensing module isconfigured to control a force sensor 1060 configured to determine aforce applied to an input surface of the input device 1000. In oneembodiment, for example, the force sensor 1060 and force sensing modulemay be configured to provide haptic feedback to the sensing region 1020.The processing system 1010 may also include sensing circuitry configuredto sense input near or on the input surface using sensing electrodes inthe sensing region 1020.

In some embodiments, the processing system 1010 responds to user input(or lack of user input) in the sensing region 1020 directly by causingone or more actions. Example actions include changing operation modes,as well as GUI actions such as cursor movement, selection, menunavigation, and other functions. In some embodiments, the processingsystem 1010 provides information about the input (or lack of input) tosome part of the electronic system (e.g. to a central processing systemof the electronic system that is separate from the processing system1010, if such a separate central processing system exists). In someembodiments, some part of the electronic system processes informationreceived from the processing system 1010 to act on user input, such asto facilitate a full range of actions, including mode changing actionsand GUI actions.

For example, in some embodiments, the processing system 1010 operatesthe sensing element(s) of the input device 1000 to produce electricalsignals indicative of input (or lack of input) in the sensing region1020. The processing system 1010 may perform any appropriate amount ofprocessing on the electrical signals in producing the informationprovided to the electronic system. For example, the processing system1010 may digitize analog electrical signals obtained from the sensingelectrodes. As another example, the processing system 1010 may performfiltering or other signal conditioning. As yet another example, theprocessing system 1010 may subtract or otherwise account for a baseline,such that the information reflects a difference between the electricalsignals and the baseline. As yet further examples, the processing system1010 may determine positional information, recognize inputs as commands,recognize handwriting, and the like.

“Positional information” as used herein broadly encompasses absoluteposition, relative position, velocity, acceleration, and other types ofspatial information. Exemplary “zero-dimensional” positional informationincludes near/far or contact/no contact information. Exemplary“one-dimensional” positional information includes positions along anaxis. Exemplary “two-dimensional” positional information includesposition in a plane. Exemplary “three-dimensional” positionalinformation includes position in space and position and magnitude of avelocity in a plane. Further examples include other representations ofspatial information. Historical data regarding one or more types ofpositional information may also be determined and/or stored, including,for example, historical data that tracks position, motion, orinstantaneous velocity over time. Likewise, a “position estimate” asused herein is intended to broadly encompass any estimate of objectlocation regardless of format. For example, some embodiments mayrepresent a position estimates as two dimensional “images” of objectlocation. Other embodiments may use centroids of object location.

“Force information” as used herein is intended to broadly encompassinformation about force(s) regardless of format. Force information maybe in any appropriate form and of any appropriate level of complexity.For example, some embodiments determine an estimate of a singleresulting force regardless of the number of forces that combine toproduce the resultant force (e.g. forces applied by one or more objectsapply forces to an input surface). Some embodiments determine anestimate for the force applied by each object, when multiple objectssimultaneously apply forces to the surface. As another example, forceinformation may be of any number of bits of resolution. That is, theforce information may be a single bit, indicating whether or not anapplied force (or resultant force) is beyond a force threshold; or, theforce information may be of multiple bits, and represent force to afiner resolution. As a further example, force information may indicaterelative or absolute force measurements. As yet further examples, someembodiments combine force information to provide a map or an “image” ofthe force applied by the object(s) to the input surface. Historical dataof force information may also be determined and/or stored. Likewise, theforce information can be provided for each object as a vector or scalarquantity. As another example, the force information can be provided asan indication that determined force has or has not crossed a thresholdamount. As other examples, the force information can also include timehistory components used for gesture recognition. As has been described,positional information and force information from the processing systemsmay be used to facilitate a full range of interface inputs, includinguse of the proximity sensor device as a pointing device for selection,cursor control, scrolling, and other functions.

In some embodiments, the input device 1000 is implemented withadditional input components that are operated by the processing system1010 or by some other processing system. These additional inputcomponents may provide redundant functionality for input in the sensingregion 1020, or some other functionality. FIG. 10 shows buttons 1030near the sensing region 1020 that can be used to facilitate selection ofitems using the input device 300. Other types of additional inputcomponents include sliders, balls, wheels, switches, and the like.Conversely, in some embodiments, the input device 1000 may beimplemented with no other input components.

In some embodiments, the input device 1000 comprises a touch screeninterface, and the sensing region 1020 overlaps at least part of anactive area of a display screen. For example, the input device 1000 maycomprise substantially transparent sensing electrodes overlaying thedisplay screen and provide a touch screen interface for the associatedelectronic system. The display screen may be any type of dynamic displaycapable of displaying a visual interface to a user, and may include anytype of light emitting diode (LED), organic LED (OLED), cathode ray tube(CRT), liquid crystal display (LCD), plasma, electroluminescence (EL),or other display technology. The input device 1000 and the displayscreen may share physical elements. For example, some embodiments mayutilize some of the same electrical components for displaying andsensing. As another example, the display screen may be operated in partor in total by the processing system 1010.

It should be understood that while many embodiments of the invention aredescribed in the context of a fully functioning apparatus, themechanisms of the present invention are capable of being distributed asa program product (e.g., software) in a variety of forms. For example,the mechanisms of the present invention may be implemented anddistributed as a software program on information bearing media that arereadable by electronic processors (e.g., non-transitorycomputer-readable and/or recordable/writable information bearing mediareadable by the processing system 1010). Additionally, the embodimentsof the present invention apply equally regardless of the particular typeof medium used to carry out the distribution. Examples ofnon-transitory, electronically readable media include various discs,memory sticks, memory cards, memory modules, and the like.Electronically readable media may be based on flash, optical, magnetic,holographic, or any other storage technology.

The description and examples set forth herein were presented in order tobest explain embodiments of the invention and to thereby enable thoseskilled in the art to make and use the invention. However, those skilledin the art will recognize that the foregoing description and exampleshave been presented for the purposes of illustration and example only.The description as set forth is not intended to be exhaustive or tolimit the invention to the precise form disclosed.

What is claimed is:
 1. An input device, comprising: an input surfaceconfigured to rotate about a first axis; a proximity sensor configuredto sense an input object in a sensing region proximate to the inputsurface of the input device; a force sensor configured to sense a forceapplied to the input surface of the input device; and a processingsystem communicatively coupled to the proximity sensor and the forcesensor and configured to: determine a position of the input object inthe sensing region, and adjust the force sensed by the force sensorbased upon the position of the input object, the sensed force applied tothe input surface, and a location of the force sensor relative to thefirst axis.
 2. The input device of claim 1, wherein the first axis issubstantially parallel to an edge of the input surface.
 3. The inputdevice of claim 1, wherein the processing system is further configuredto determine input information for the input object based upon at leastone of positional information of the input object and the adjusted forcefor the input object.
 4. The input device of claim 3, wherein theprocessing system is further configured to emulate a type of user inputwhen the input information meets a first input metric.
 5. The inputdevice of claim 4, wherein the processing system is further configuredto emulate a second type of user input when the input information meetsa second input metric.
 6. The input device of claim 4, wherein theprocessing system is further configured to emulate the first type ofuser input when the input information meets a third input metric andmultiple input objects are sensed by the proximity sensor.
 7. The inputdevice of claim 1, wherein when multiple input objects are detected, aposition of the second input object is used to adjust the force sensedby the force sensor.
 8. The input device of claim 1, wherein the forcesensor is further configured to provide a haptic response to the inputsurface.
 9. The input device of claim 1, wherein the input surface isfurther configured to rotate about a second axis, the second axis beingsubstantially perpendicular to the first axis.
 10. The input device ofclaim 9, wherein the input device comprises multiple force sensors, andwherein the processing system is further configured to adjust the forcesensed by the multiple force sensors for the input object based on alocation of the multiple force sensors relative to the first axis andthe second axis.
 11. The input device of claim 1, wherein the processingsystem is further configured emulate a user input based upon the inputinformation.
 12. A processing system for an input device having an inputsurface configured to rotate about a first axis and configured to betouched by input objects and a force sensor configured to determine aforce applied to the input surface, the processing system comprising:sensing circuitry configured to sense input in a sensing region of theinput device and the force applied to the input surface; and adetermination module configured to: adjust the force sensed by the forcesensor based upon a position of the input object on the input surface,the sensed force applied to the input surface, and a location of theforce sensor relative to the first axis.
 13. The processing system ofclaim 12, wherein the determination module is further configured todetermine input information for the input object based upon at least oneof positional information of the input object and the adjusted force forthe input object.
 14. The processing system of claim 12, wherein theinput surface is further configured to rotate about a second axis, thesecond axis being substantially perpendicular to the first axis andwherein the determination module is further configured to adjust theforce sensed by the force sensor for the input object based upon theposition of the input object, the sensed force applied to the inputsurface, and a location of the force sensor relative to the first axisand the second axis.
 15. The processing system of claim 13, wherein theprocessing system is further configured to emulate a first type of userinput when the input information meets a first input metric.
 16. Theprocessing system of claim 15, wherein the processing system is furtherconfigured to emulate a second type of user input when the inputinformation is meets a second input metric.
 17. A method for adjusting arepresentation of a force for an input object interacting with an inputdevice having an input surface configured to rotate about an axis andconfigured to be touched by input objects and a force sensor coupled tothe input surface and configured to determine a representation of forceapplied to the input surface, the method comprising: determining aposition of an input object; and adjusting the representation of theforce determined by the force sensor based upon the position of theinput object on the input surface, the sensed representation of forceapplied to the input surface, and a location of the force sensorrelative to the axis.
 18. The method of claim 17, the method furthercomprising: when multiple input objects are touching the input surface,adjusting the representation of the force determined by the force sensorfor the input objects based upon a position of the last input object totouch the input surface, the sensed representation of the force appliedto the input surface by the last input object to touch the inputsurface, and the location of the force sensor relative to the axis. 19.The method of claim 17, further comprising determining input informationfor the input object based upon at least one of positional informationof the input object and the adjusted representation of the force for theinput object.
 20. The method of claim 19, further comprising emulating atype of user input when the input information meets an input metric.